<template>
	<div>
		<!-- 面包屑导航区域 -->
		<el-breadcrumb separator="/">
			<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
			<el-breadcrumb-item>订单管理</el-breadcrumb-item>
			<el-breadcrumb-item>订单列表</el-breadcrumb-item>
		</el-breadcrumb>

		<!-- 卡片视图  -->
		<el-card>
			<el-col :span="8">
				<el-input placeholder="请输入内容">
					<el-button slot="append" icon="el-icon-search"></el-button>
				</el-input>
			</el-col>

			<!-- 订单列表 -->
			<el-table :data="orderList" border>
				<el-table-column type="index"></el-table-column>
				<el-table-column label="订单编号" prop="order_number"></el-table-column>
				<el-table-column label="订单价格" prop="order_price"></el-table-column>
				<el-table-column label="是否付款" prop="pay_status">
					<template v-slot="scope">
						<el-tag type="success" v-if="scope.row.pay_status=='1'">已付款</el-tag>
						<el-tag type="danger" v-else>未付款</el-tag>
					</template>
				</el-table-column>
				<el-table-column label="是否发货" prop="is_send"></el-table-column>
				<el-table-column label="下单时间" prop="create_time"></el-table-column>
				<el-table-column label="操作">
					<template v-slot="scope"> 
						<el-button type="primary" icon="el-icon-edit" size="mini" @click="showAddressDialog"></el-button>
						<el-button type="success" icon="el-icon-location" size="mini" @click="showProgress"></el-button>
					</template>
				</el-table-column>
			</el-table>

			<!-- 分页 -->

			<el-pagination
			@size-change="handleSizeChange"
			@current-change="handleCurrentChange"
			:current-page="queryInfo.pagenum"
			:page-sizes="[1, 2, 5, 10]"
			:page-size="queryInfo.pagesize"
			layout="total, sizes, prev, pager, next, jumper"
			:total="total">
			</el-pagination>
		</el-card>

	<!-- 修改地址的对话框 -->
		<el-dialog
			title="修改"
			:visible.sync="addressVisible"
			width="50%"
			@close="addressClosed">
			<!--  验证表单 -->
			<el-form :model="addressForm" :rules="rules" ref="addressFormRef" label-width="100px">
			  <el-form-item label="省市区/县" prop="address1">
			   		<el-cascader
					    v-model="addressForm.address1"
					    :options="cityData">	
					</el-cascader>	
			  </el-form-item>

			   <el-form-item label="详细地址" prop="address2">
			    <el-input v-model="addressForm.address2"></el-input>
			  </el-form-item>
			</el-form>
			<span slot="footer">
				<el-button @click="addressVisible = false">取 消</el-button>
				<el-button type="primary" @click="addressVisible = false">确 定</el-button>
			</span>
		</el-dialog>

		<!-- 展示物流进度对话框 -->
		<el-dialog
		  title="物流进度"
		  :visible.sync="progressVisible"
		  width="50%">
		  <span>这是一段信息</span>
		</el-dialog>

</div> 
</template>

<script>
	import cityData from './citydata.js'
	export default{
		data(){
			return {
				queryInfo:{
					query:'',
					pagenum:1,
					pagesize:10
				},
				orderList:[],
				total:0,
				addressVisible:false,
				rules:{
					address1:[
						{ required: true, message: '请选择地址', trigger: 'blur' }
					],
					address2:[
						{ required: true, message: '请填写详细地址', trigger: 'blur' }
					]
				},
				addressForm:{
					address1:[],
					address2:''
				},
				cityData,
				progressVisible:false,
				progressInfo:[]
			}
		},
		methods:{
			async getOrderList(){
				const {data:res}=await this.$http.get('orders',{params:this.queryInfo})
				// console.log(res)
				if(res.meta.status !==200) return this.$message.error('获取数据失败')
					this.orderList=res.data.goods
				this.total=res.data.total
			},
			handleSizeChange(newSize){
				console.log(newSize)
				this.queryInfo.pagesize=newSize
				this.getOrderList()
			},
			handleCurrentChange(newPage){
				console.log(newPage)
				this.queryInfo.pagenum=newPage
				this.getOrderList()
			},
			showAddressDialog(){
				this.addressVisible=!this.addressVisible
			},
			addressClosed(){
				this.$refs.addressFormRef.resetFields()
			},
			async showProgress(){
				const {data:res}=await this.$http.get('/kuaidi/1106975712662')
				console.log(res)
				if(res.meta.status !==200) return this.$message.error('获取数据失败')
					this.progressInfo=res.data
				this.progressVisible=!this.progressVisible
			}
		},
		created(){
			this.getOrderList()
		}
	}
</script>

<style scoped>
.el-table{
	margin-top:30px;
}
.el-cascader{
	width: 100%;
}

</style>